/**
 * 
 */
package org.flycloud.web.platform.dao;

import java.util.List;

import org.flycloud.web.platform.entity.Menu;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.query.Param;

/**
 * 
 * @author zhangbo
 * @since 2013年10月16日 上午9:04:23
 *
 */
public interface MenuDao extends JpaRepository<Menu, Long> {

	Menu findByParentIdAndText(Long parentId, String name);

	@Query("select o from Menu o where parent.id = :nn")
	List<Menu> findByParentId(@Param("nn") String parentId);

	@Query("select o from Menu o where parent.id is null")
	List<Menu> findRoots();

	/**
	 * @param id
	 * @param name
	 * @param id2
	 */
	Menu findByParentIdAndTextAndIdNot(Long parentId, String name, Long id);

	Menu findByText(String text);

	@Query("select o from Menu o where parentId is null")
	List<Menu> findAllTop();

}
